function [MPC]=SS_MPC(PP,SS)

%% QQ
Diff_b          =   0.01;
State_0         =   SS.DistApp.fzo.State;
State_1         =   State_0;
State_1(:,1)    =   State_1(:,1)-Diff_b;
State_2         =   State_0;
State_2(:,1)    =   State_2(:,1)+Diff_b;

DistPolicy_1    =   Policy_Solver(PP,SS,SS.T,SS.Profit,SS.TAU,SS.ir_dom,SS.ir_ext,SS.w_N,SS.w_H,...
                                  SS.PortfolioInfo,SS.UCoef,State_1);
DistPolicy_2    =   Policy_Solver(PP,SS,SS.T,SS.Profit,SS.TAU,SS.ir_dom,SS.ir_ext,SS.w_N,SS.w_H,...
                                  SS.PortfolioInfo,SS.UCoef,State_2);
QQ_V            =   (DistPolicy_2.V.c-DistPolicy_1.V.c)/Diff_b/2;
QQ_Vhat         =   (DistPolicy_2.Vhat.c-DistPolicy_1.Vhat.c)/Diff_b/2;

QQ              =   [QQ_V;QQ_Vhat];

%% QW
QW              =   SS.TrProb.UnitTrMat.ReEval*SS.Dist_fzo.QW_fzo;
QW_V            =   (1-PP.XI)*QW;
QW_Vhat         =   PP.XI*QW;

Dist            =   full([QW_V;QW_Vhat]);

%% Statistics
AvgMPC          =   QQ'*Dist;
QuantList       =   [0.05;0.10;0.25;0.50;0.75;0.90;0.95];
Quant           =   DistApp_Hist_Quantile(QQ,Dist,QuantList);

MPC             =   struct('QQ',QQ,'QW',Dist,...
                           'Avg',AvgMPC,'QuantList',QuantList,'Quant',Quant);
